1. Field of the Invention
The present invention generally relates to remote copy methods and storage systems, and more particularly to a remote copy method for carrying out an asynchronous copy having a sequence guarantee and to a storage system which employs such a remote copy method.
2. Description of the Related Art
Normally a cache memory is provided in a storage system, and methods of realizing the cache memory may be roughly categorized into two methods. According to one method, the cache memory is shared by all controller modules. On the other hand, according to the other method, the cache memory is distributed and held for each of the controller modules. The present invention relates to a storage system employing the latter architecture.
In a distributed cache memory type storage system, read and write processes with respect to data of logical volumes can be carried out distributively for each of the controller modules, thereby enabling the load on the hardware to be distributed and the scalability to be improved. However, in a process that requires linking among the controller modules, the controller modules must communicate with each other, and the control consequently becomes complex.
1.1 Remote Copy Sequence Guarantee:
In the storage system such as a database system, a recovery function is provided to restore files within a database even if the writing to a recording medium such as a disk drive is suddenly stopped due to crashing of an Operating System (OS) of a server, for example, by self-controlling the write sequence to the disk. In a mirroring of the database utilizing a remote copy, even if a copy operation is suddenly stopped due to some reason, a state of the disk at a copy destination becomes the same as when the database suddenly stops the writing, and thus, the files of the database may be recovered at the copy destination by using the recovery function of the storage system.
In a general storage system, the files of the database are in many cases recorded on a plurality of disks, so as to improve the performance and reliability of the storage system, and the same holds true in the case of the mirroring of the database. Accordingly, in the copy function of the storage in the storage system, it is required for the copy of the files of all of the databases to be carried out in the same sequence as the write sequence.
In the case of a synchronous copy mode, the copy is carried out in synchronism with the write, and the above described requirement is satisfied. However, in the case of the mirroring between remote locations, employing the synchronous copy mode introduces problems in that the synchronous copy mode is affected by delays caused by transmission paths, and it is necessary to employ an asynchronous copy mode which is less affected by the delays caused by the transmission paths.
But I the asynchronous copy mode of the conventional storage system, the sequence guarantee is only provided with respect to a single copy session. For this reason, in order for the mirroring of the database to be made, there was a problem in that all of the files of the database that need to be transferred must be forcibly stored in a single disk. Hence, there were demands to enable the copy by providing the sequence guarantee among a plurality of disks (copy sessions).
1.2 Sequential Write Performance of Copy Source:
On the other hand, in the conventional storage system, the data transfer to the copy destination is carried out in units with which the write from the host unit is carried out. But since the write process from the host unit and the copy process must be carried out exclusively, a behavior similar to that in the case of the synchronous mode is generated. FIG. 1 is a diagram for generally explaining the write process and the copy process of the storage system in this case. In FIG. 1, a bold solid line on the outer side indicates a memory of a minimum unit (for example, 64 KB) managed by a cache memory, and a thin solid line on the inner side indicates that a write access is made with a size of 64 KB or less by dividing a region of 64 KB. Vertical arrows represent the write process, and horizontal arrows represent the copy process.
In a state where no problems are introduced in the sequential write performance, a write (1) and a response (2) of a write process [(1), (2)] can be completed immediately, as shown in FIG. 1. A copy (3) of a copy process [(3), (5)] is carried out after the write process (1), (2) is completed. If a write (4) of a write process [(4), (6)] is generated immediately after the copy (3) of the copy process [(3), (5)], a response (6) of the write process [(4), (6)] is put on an exclusive wait since the copy process [(3), (5)] with respect to the preceding write process [(1), (2)] is carried out. For this reason, the response (6) of the write process [(4), (6)] is put on an exclusive wait until the response (5) of the copy process [(3), (5)] is received. As a result, a time of the copy process is added during the write process, and the sequential write performance in a worst case becomes the same as that for the synchronous copy.
If only the sequential write performance is the problem, it is conceivable to take measures to intentionally delay the copy process, such as carrying out the copy (3) of the copy process [(3), (5)] after the write process [(4), (6)]. But if an attempt is made to cope with a write process that makes access to the same region as the write (1) of the write process [(1), (2)], it is basically impossible to eliminate the need for the exclusive control unless the written data is saved to another location.
1.3 Transfer Efficiency:
In the conventional storage system, the copy process is carried out in the units with which the write process is carried out. Hence, in the case of the write process in units of 8 KB, for example, the copy process is carried out in units of 8 KB. Such a copy process does not introduce problems when a latency of the transmission path is small, but when using a transmission path having a delay of approximately 300 msec one-way as in the case between Japan and the United Kingdom, for example, it would take approximately 1.2 sec to transfer 8 KB of data. In terms of throughput, this corresponds to approximately 6.5 KB/sec. Accordingly, in the storage system that carries out the copy process in units with which the write process is carried out, it would be necessary to manage approximately 16,000 copy processes if the transfer throughput of 100 MB/sec were to be realized, thereby causing a breakdown from the point of view of managing the resources within the storage system. This is not yet a problem in the environments in which the storage systems are presently used, but it is expected that it will become difficult to support connections between two distant locations in the future.
The applicants are aware of the Japanese Laid-Open Patent Application No. 2003-167684.
As described above, there were demands to provide the sequence guarantee in the conventional storage systems so that the copy can be carried out among a plurality of disks (among copy sessions) while being guaranteed of the sequence.
However, if an attempt is made to satisfy such demands in the distributed cache memory type storage systems, it becomes necessary to communicate among the controller modules for every write process, in order to provide the sequence guarantee. As a result, there was a problem in that an overhead becomes large. In addition, because the sequence is managed in a specific controller module, there was a problem in that the load is concentrated on the specific controller module.
Moreover, in the conventional storage systems, since the data transfer to the copy destination is carried out in units with which the write from the host unit is carried out, the time of the copy process is added during the write process. Consequently, there was a problem (that is, problem related to the sequential write performance of the copy source) in that the sequential write performance of the copy source in the worst case becomes the same as that for the synchronous copy.
Furthermore, in the storage systems in which the copy process is carried out in the units with which the write process is carried out, it would be necessary to manage approximately 16,000 copy processes if the transfer throughput of 100 MB/sec were to be realized, thereby causing a breakdown from the point of view of managing the resources within the storage systems. Thus, there was a problem (that is, problem related to transfer efficiency) in that it will become difficult to support connections between two distant locations in the future.